#include<bits/stdc++.h>
using namespace std;
#define int long long
#define N 110
int n,m,a,b,c;
char ma[N][N];
bool vis[N];
void w(int x,int y,int a,int b)
{
for(int i = 'a';i <= 'e';++i) vis[i] = false;
for(int i = 0;i < a;++i) vis[ma[x + i][y - 1]] = true;
for(int i = 0;i < b;++i) vis[ma[x - 1][y + i]] = true;
char ch = 0;
for(int i = 'a';i <= 'e';++i)
if(vis[i] == false) ch = i;
for(int i = 0;i < a;++i)
for(int j = 0;j < b;++j) ma[x + i][y + j] = ch;
}
bool work()
{
if(n % 2 == 1 && m % 2 == 1) return false;
int needa = (n % 2 == 1 ? m / 2 : 0);
int needb = (m % 2 == 1 ? n / 2 : 0);
int needc = (n / 2) * (m / 2);
int numa = (a - needa) / 2;
int numb = (b - needb) / 2;
if(needc > numa + numb + c || needa > a || needb > b) return false;
for(int i = 1;i <= n;++i)
for(int j = 1;j <= m;++j)
if(ma[i][j] != 0) continue;
else if(i == n) w(i,j,1,2);
else if(j == m) w(i,j,2,1);
else if(c > 0) w(i,j,2,2),c--;
else if(numa > 0) w(i,j,1,2),w(i + 1,j,1,2),numa--;
else if(numb > 0) w(i,j,2,1),w(i,j + 1,2,1),numb--;
return true;
}
signed main()
{
ios::sync_with_stdio(false);
cin>>n>>m>>a>>b>>c;
if(work() == false) cout<<"IMPOSSIBLE"<<endl;
else for(int i = 1;i <= n;++i) cout<<ma[i] + 1<<endl;
return 0;
}
1389. Create Target Array in the Given Order | 1313. Decompress Run-Length Encoded List |
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |
232. Implement Queue using Stacks | 844. Backspace String Compare |
20. Valid Parentheses | 746. Min Cost Climbing Stairs |
392. Is Subsequence | 70. Climbing Stairs |
53. Maximum Subarray | 1527A. And Then There Were K |
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers | 318. Maximum Product of Word Lengths |
448. Find All Numbers Disappeared in an Array | 1155. Number of Dice Rolls With Target Sum |
415. Add Strings | 22. Generate Parentheses |
13. Roman to Integer | 2. Add Two Numbers |